#include <iostream>
#include "Biblioteca.h"

using namespace std;
int serverPid;

int main() {



	//seteamos para que envíe alarma cada 5 segundos y se pueda verificar el estado del servidor..
	//alarm(TORNEO_UP);

	//genero la llave para la memoria compartida
	key_t clave;

	clave = ftok("/bin/cp",222);
	//printf("Clave Torneo: %d\n", clave);
	//srand(time(0));

	serverPid=getpid();

	//manejo señales
	capturarSeniales();

	//Inicializo SDL
	inicializarSDL();

	pantallaPresentacion();

	cargarPresentacion();
	//genero la memoria compartida
	crearMemoriaCompartida(clave);

	//monitoreo el servidor por si lo matan con kill -9
	//monitorearServidor(serverPid);


	// simularConexiones();
	// Crea semaforos Jugadores y Asignar
	crearSemaforos();

	//Configuracion del servidor con loscolorFuenteAmarillo
	//simularConexiones(); //datos del archivo.
	configurarServer();

	//Inicializo todos los datos
	inicializarDatos();


	// Lanza los threads de Escucha, Dibuja, Monitoreo (por si lo matan con kill -9).
	crearThreads();


        // maxi
        ///////ejecutarMonitor();


	//dibujarPantalla(NULL);
	esperarThreadEscucha();

	//Este proceso se encarga de lanzar las partidas.
	administrarPartidas();


	//Esperamos que todos los servidores de partida finalicen.
	esperarPartidas();

	//Esperamos el thread de visualizacion
	esperarThreadDibuja();

	return 0;
}
